package com.exam.api.modules.system.enums;

import com.fasterxml.jackson.annotation.JsonValue;
import com.exam.api.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 数据范围枚举类
 * <p>
 * 用于实现数据级别的权限
 *
 * @author beicheng
 */
@Getter
@AllArgsConstructor
public enum PermissionScopeType implements BaseEnum {

    /**
     * 全部数据权限
     */
    ALL(1),

    /**
     * 指定部门数据权限
     */
    DEPT_CUSTOM(2),

    /**
     * 部门数据权限
     */
    DEPT_ONLY(3),
    /**
     * 部门及以下数据权限
     */
    DEPT_AND_CHILD(4),

    /**
     * 仅本人数据权限
     */
    SELF(5);

    /**
     * 范围
     */
    @JsonValue
    private final Integer scope;


    @Override
    public Integer getValue() {
        return scope;
    }
}
